home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 2 / Amiga Tools 2.iso / tools / arexx-scripts / adpro-arexx / pic>mosaik.adpro < prev    next >
Encoding:
Text File  |  1993-10-30  |  4.0 KB  |  172 lines

  1. /********************************************************************/
  2. /***                                                              ***/
  3. /***                       Pic>Mosaik.adpro                       ***/
  4. /***                                                              ***/
  5. /***  Dieses Makro wurde mit Hilfe von MakroStudio 1.0 erstellt.  ***/
  6. /***                                                              ***/
  7. /***      © 1993 by S.N.A.P., programmiert von Raphael Vogt       ***/
  8. /***                                                              ***/
  9. /***                   Published by CompuStore                    ***/
  10. /***                                                              ***/
  11. /********************************************************************/
  12.  
  13. Bild1 = ""
  14. FertigB = ""
  15. Length = ""
  16.  
  17. OPTIONS RESULTS
  18.  
  19. Dummy = ADDLIB("rexxsupport.library",0,-30,0)
  20. IF POS("rexxsupport.library",SHOW("Libraries")) = 0 THEN DO
  21.   SAY "Die rexxsupport.library ist nicht vorhanden!"
  22.   EXIT 10
  23. END
  24.  
  25.  
  26. Dummy = ADDLIB("rexxmathlib.library",0,-30,0)
  27. IF POS("rexxmathlib.library",SHOW("Libraries")) = 0 THEN DO
  28.   SAY "Die rexxmathlib.library ist nicht vorhanden!"
  29.   EXIT 10
  30. END
  31.  
  32.  
  33. /* ADPro laden, wenn noch nicht geschehen */
  34.  
  35. Load_TimeOut_Seconds = 60
  36.  
  37. ADDRESS COMMAND
  38. IF STATEF("adpro:") = "" THEN DO
  39.   SAY "Ich kann ADPro nicht finden!"
  40.   EXIT 10
  41. END
  42.  
  43. Load_Flag = 0
  44. Dummy = TIME("R")
  45. DO WHILE (TIME("E") < Load_TimeOut_Seconds) & (POS("ADPro",SHOW("Ports")) = 0)
  46.   IF Load_Flag = 0 THEN DO
  47.     "run <nil: >nil: adpro:adpro"
  48.     Load_Flag = 1
  49.   END
  50.   "wait 1"
  51. END
  52.  
  53. IF POS("ADPro",SHOW("Ports")) = 0 THEN DO
  54.   SAY "Ich kann ADPro nicht laden!"
  55.   EXIT 10
  56. END
  57.  
  58. ADDRESS "ADPro"
  59.  
  60.  
  61. /* Dateiauswahlfenster */
  62.  
  63. ADPRO_TO_FRONT
  64. GETFILE '"Wählen Sie ein Bild aus"'
  65. Bild1 = ADPro_Result
  66.  
  67. /* Dateiauswahlfenster */
  68.  
  69. ADPRO_TO_FRONT
  70. GETFILE '"Name für fertige Bilder"'
  71. FertigB = ADPro_Result
  72.  
  73.  
  74. /* Nummernauswahlfenster */
  75.  
  76. ADPRO_TO_FRONT
  77. GETNUMBER '"Anzahl der Frames"'
  78. Length = ADPro_Result
  79.  
  80.  
  81. /* FOR-THEN Sequenz */
  82.  
  83. ArgFor  = 1
  84. ArgTo   = Length
  85. ArgStep = 1
  86.  
  87. DO FrameNum = ArgFor BY ArgStep FOR ArgTo
  88.  
  89.    /* Ein Bild wird geladen */
  90.    
  91.    LoadFilename = Bild1
  92.  
  93.    LFORMAT "UNIVERSAL"        /* Ladeformat auf 'Universal' setzen */
  94.    IF RC ~= 0 THEN DO
  95.      ADPRO_TO_FRONT
  96.      OKAY1 "Der gewünschte Loader Universal"||'0a'x||"ist nicht vorhanden!"
  97.      EXIT 10
  98.    END
  99.    
  100.    ORIENTATION "PORTRAIT"        /* Orientation setzen */
  101.    
  102.    IF LoadFilename = "" THEN DO     /* Evt. Filerequester öffnen */
  103.      ADPRO_TO_FRONT
  104.      GETFILE '"Wählen Sie die zu ladende Datei aus!"'
  105.      IF RC ~=0 THEN EXIT 10
  106.      ELSE LoadFilename = ADPro_Result
  107.    END
  108.    
  109.    LOAD LoadFilename    /* Laden */
  110.    IF RC ~=0 THEN DO
  111.      ADPRO_TO_FRONT
  112.      OKAY1 "Der gewünschte Loader Universal"||'0a'x||"will nicht so recht.."
  113.      EXIT 10
  114.    END
  115.  
  116.    
  117.   XSIZE
  118.   ImageX = ADPRO_RESULT
  119.  
  120.   YSIZE
  121.   ImageY = ADPRO_RESULT
  122.  
  123.  
  124. Faktor = 1 - sin(3.1415927 / (Length - 1) * (FrameNum - 1) / 2)
  125. VarX = Faktor * ImageX
  126. IF VarX < 1 THEN VarX = 1
  127. VarY = Faktor * ImageY
  128. IF VarY < 1 THEN VarY = 1
  129.  
  130.    /* Bild skalieren */
  131.    
  132.    ABS_SCALE VarX VarY
  133.    IF RC ~= 0 THEN DO
  134.      ADPRO_TO_FRONT
  135.      OKAY1 "Skalierung fehlgeschlagen!"
  136.    END
  137.  
  138.    ABS_SCALE ImageX ImageY
  139.    IF RC ~= 0 THEN DO
  140.      ADPRO_TO_FRONT
  141.      OKAY1 "Skalierung fehlgeschlagen!"
  142.      EXIT 10
  143.    END
  144.    
  145.    
  146.    /* Ein IFF Bild wird gespeichert */
  147.    
  148.    SaveFilename = FertigB || '.' || (FrameNum + 1000)
  149.    
  150.    SFORMAT "IFF"           /* Speicherformat auf 'IFF' setzen */
  151.    IF RC ~= 0 THEN DO
  152.      ADPRO_TO_FRONT
  153.      OKAY1 "Der gewünschte Saver IFF ist"||'0a'x||"nicht vorhanden!"
  154.      EXIT 10
  155.    END
  156.    
  157.    IF SaveFilename = "" THEN DO     /* Evt. Filerequester öffnen */
  158.      ADPRO_TO_FRONT
  159.      GETFILE '"Benennen Sie die zu speichernde Datei!"'
  160.      IF RC ~=0 THEN EXIT 10
  161.      ELSE SaveFilename = ADPro_Result
  162.    END
  163.    
  164.    SAVE SaveFilename "RAW"       /* Rohdaten speichern */
  165.    IF RC ~=0 THEN DO
  166.      ADPRO_TO_FRONT
  167.      OKAY1 "Der gewünschte Saver IFF will"||'0a'x||"nicht so recht.."
  168.      EXIT 10
  169.    END
  170.  
  171. END   /* Ende der bedingten Sequenz */
  172.